<?php

class User{

	private $id;
	private $email;
	private $senha;
	private $nome;
	private $dataCadastro;
	private $ultimoAcesso;
	private $status;
	public function __construct($id = 0,$email="",$senha="",$nome="",$dataCadastro = "0000-00-00",$ultimoAcesso = "0000-00-00 00:00:00",$status="ATIVO"){
		$this->id = $id;
		$this->email = $email;
		$this->senha = $senha;
		$this->nome = $nome;
		$this->dataCadastro = $dataCadastro;
		$this->ultimoAcesso = $ultimoAcesso;
		$this->status = $status;

	}

	public static function construct($array){
		return new User( $array['id'], $array['email'], $array['senha'], $array['nome'], $array['dataCadastro'], $array['ultimoAcesso'], $array['status']);

	}

	public function getId(){
		return $this->id;
	}

	public function setId($id){
		$this->id=$id;
	}

	public function getEmail(){
		return $this->email;
	}

	public function setEmail($email){
		$this->email=$email;
	}

	public function getSenha(){
		return $this->senha;
	}

	public function setSenha($senha){
		$this->senha=$senha;
	}

	public function getNome(){
		return $this->nome;
	}

	public function setNome($nome){
		$this->nome=$nome;
	}

	public function getDataCadastro(){
		return $this->dataCadastro;
	}

	public function setDataCadastro($dataCadastro){
		$this->dataCadastro=$dataCadastro;
	}

	public function getUltimoAcesso(){
		return $this->ultimoAcesso;
	}

	public function setUltimoAcesso($ultimoAcesso){
		$this->ultimoAcesso=$ultimoAcesso;
	}
	
	public function getStatus(){
		return $this->status;
	}
	
	public function setStatus($status){
		$this->status=$status;
	}
	
	public function equals($object){
		if($object instanceof User){

			if($this->id!=$object->id){
				return false;

			}

			if($this->email!=$object->email){
				return false;

			}

			if($this->senha!=$object->senha){
				return false;

			}

			if($this->nome!=$object->nome){
				return false;

			}

			if($this->dataCadastro!=$object->dataCadastro){
				return false;

			}

			if($this->ultimoAcesso!=$object->ultimoAcesso){
				return false;

			}
			
			if($this->status!=$object->status){
				return false;
			
			}

			return true;

		}
		else{
			return false;
		}

	}
	public function toString(){

		return "  [id:" .$this->id. "]  [email:" .$this->email. "]   [nome:" .$this->nome. "]  [dataCadastro:" .$this->dataCadastro. "]  [ultimoAcesso:" .$this->ultimoAcesso. "]  [status:" .$this->status. "]  " ;
	}
	public function toArray(){

		$temp = (array) $this;
		
		$array = array();
		
		foreach ($temp as $k => $v) {
			$k = preg_match('/^\x00(?:.*?)\x00(.+)/', $k, $matches) ? $matches[1] : $k;
			$array[$k] = $v;
		}
		
		return  $array;
	}
	
	

}
?>